#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
云主机部署配置示例
专门针对云主机环境的配置优化
"""

class CloudServerConfig:
    """云主机环境配置"""
    
    # 窗体相关配置（云主机可能响应较慢）
    WINDOW_SHOW_RETRIES = 5           # 增加显示窗体的重试次数
    WINDOW_SHOW_RETRY_DELAY = 2       # 增加显示窗体重试间隔
    UI_READY_TIMEOUT = 10             # 增加等待UI准备就绪的超时时间
    
    # 控件获取配置（云主机UI响应可能较慢）
    CONTROL_EXISTS_TIMEOUT = 5        # 增加控件存在检查超时时间
    CONTROL_REFRESH_RETRIES = 5       # 增加刷新控件的重试次数
    
    # 输入框焦点配置
    FOCUS_RETRIES = 8                 # 增加获取输入框焦点的重试次数
    FOCUS_RETRY_DELAY = 0.5           # 增加获取焦点重试间隔
    FOCUS_FAILURE_DELAY = 1.0         # 增加焦点获取失败后的等待时间
    
    # 消息发送配置（云主机网络可能不稳定）
    MESSAGE_SEND_RETRIES = 5          # 增加发送消息的总重试次数
    MESSAGE_SEND_RETRY_DELAY = 3      # 增加发送消息重试间隔
    MESSAGE_CONTENT_TIMEOUT = 30      # 大幅增加消息内容填入超时时间
    MESSAGE_CONTENT_RETRY_DELAY = 1.0 # 增加消息内容填入重试间隔
    
    # @功能配置
    AT_MENU_TIMEOUT = 2.0             # 增加@菜单出现等待时间
    AT_ALL_MENU_TIMEOUT = 3.0         # 增加@所有人菜单等待时间
    
    # 文件发送配置
    FILE_SEND_TIMEOUT = 60            # 大幅增加文件发送超时时间
    FILE_CLIPBOARD_DELAY = 0.5        # 增加文件剪贴板处理等待时间
    
    # 系统响应配置（云主机性能可能较差）
    UI_RESPONSE_DELAY = 0.5           # 增加UI响应等待时间
    CLIPBOARD_PROCESS_DELAY = 0.5     # 增加剪贴板处理等待时间
    
    # 锁屏处理配置（云主机常见问题）
    SCREEN_LOCK_CHECK_ENABLED = True  # 启用锁屏检测
    SCREEN_UNLOCK_RETRIES = 5         # 增加解锁屏幕的重试次数
    SCREEN_UNLOCK_RETRY_DELAY = 3     # 增加解锁重试间隔
    SCREEN_UNLOCK_TIMEOUT = 20        # 增加解锁操作超时时间
    AUTO_UNLOCK_ENABLED = True        # 启用自动解锁功能
    
    # 系统检测配置
    PROCESS_CHECK_ENABLED = True      # 启用进程检查
    SYSTEM_STATE_CHECK_TIMEOUT = 10   # 增加系统状态检查超时时间
    
    # 调试配置（云主机建议启用详细日志）
    ENABLE_DETAILED_LOG = True        # 启用详细日志
    LOG_EXCEPTION_TRACEBACK = True    # 记录异常堆栈信息

# 使用示例：
# 1. 将此文件重命名为 wechat_config.py 或者
# 2. 在 wechat_config.py 中导入并应用这些设置

def apply_cloud_config():
    """应用云主机配置"""
    try:
        import wechat_config
        
        # 应用云主机配置
        cloud_config = CloudServerConfig()
        for attr in dir(cloud_config):
            if not attr.startswith('_'):
                setattr(wechat_config.config, attr, getattr(cloud_config, attr))
        
        print("✅ 云主机配置已应用")
        return True
    except Exception as e:
        print(f"❌ 应用云主机配置失败: {e}")
        return False

if __name__ == "__main__":
    print("云主机配置应用工具")
    print("=" * 50)
    
    # 显示云主机配置
    cloud_config = CloudServerConfig()
    print("云主机优化配置:")
    for attr in dir(cloud_config):
        if not attr.startswith('_') and not callable(getattr(cloud_config, attr)):
            value = getattr(cloud_config, attr)
            print(f"  {attr}: {value}")
    
    print("\n使用方法:")
    print("1. 直接将此文件重命名为 wechat_config.py")
    print("2. 或者在代码中调用 apply_cloud_config() 函数")
    print("3. 或者手动复制配置到 wechat_config.py 中")
